/*
 * Inter-process communication between client and server process.
 */

#define SERVER_START_TIMEOUT 5 // Seconds the client waits for server

/*
 * Starts the server process and waits for it to listen
 * on the game port. Returns 1 if the server has been
 * started successfully, 0 if there was an error.
 */
int ipc_start_server ();
void ipc_stop_server ();

/*
 * After the server has started up and is ready to take
 * connections, it attempts to notify a waiting client
 * on the same machine by sem_post()ing on a shared
 * semaphore. The client will resume and connect.
 */
void ipc_wake_client ();
